# 基于pytest编写测试脚本
#    + 准备测试数据
#    + 获取响应数据 = 调用接口类().接口方法(传递测试数据)
#    + 断言
#    + 关联

# 导包
import pytest
from api.login import LoginAPI
from common.jsonutil import build_data


# 创建测试类
class TestLoginAPI:
    # 前置处理
    def setup(self):
        # 实例化接口类
        self.login_api = LoginAPI()

    # 后置处理
    def teardown(self):
        pass

    # 登录
    @pytest.mark.parametrize("login_data, status_code, success, code, message", build_data("../data/login.json"))
    def test_login(self, login_data, status_code, success, code, message):
        response = self.login_api.login(login_data)
        print(response.json())
        # 断言
        assert response.status_code == status_code
        assert response.json().get("success") is success
        assert response.json().get("code") == code
        assert message in response.text
